package com.chase.springboot.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chase.springboot.model.dto.CommentDTO;
import com.chase.springboot.model.entity.Comment;
import com.chase.springboot.model.entity.User;
import com.chase.springboot.model.vo.CommentVO;

import java.util.List;


public interface ICommentService extends IService<Comment> {
    /**
     *
     *
     * @param topicId
     * @return {@link Comment}
     */
    List<CommentVO> getCommentsByTopicID(String topicId);

    Comment create(CommentDTO dto, User principal);

    /**
     * 获取第一层评论
     * @param topicId
     * @return
     */
    List<CommentVO> getFirstLayerComments(String topicId);

    /**
     * 通过第一层评论id获取子评论
     * @param commentId
     * @return
     */
    List<CommentVO> getCommentsByCommentId(String commentId);

    /**
     * 通过评论id删除评论以及子评论
     * @param commentId
     * @return
     */
    boolean deleteCommentAndChilds(String commentId);
}
